const express = require('express');
const app = express();
const port = 3000;
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('mydb.sqlite');

// 创建表
db.run(`
  CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT,
    email TEXT UNIQUE
  )
`, (err) => {
  if (err) {
    console.error('Error creating table:', err.message);
  }
});

// 插入数据
db.run(`
  INSERT INTO users (name, email)
  VALUES ('John', 'john@example.com')
`, (err) => {
  if (err) {
    console.error('Error inserting data:', err.message);
  }
});

// 查询数据
app.get('/api/users', (req, res) => {
  db.all('SELECT * FROM users', (err, rows) => {
    if (err) {
      res.status(500).json({ error: err.message });
      return;
    }
    res.json(rows);
  });
});

// 添加用户
app.post('/api/users', (req, res) => {
  const { name, email } = req.body;
  db.run(`
    INSERT INTO users (name, email)
    VALUES (?, ?)
  `, [name, email], function(err) {
    if (err) {
      res.status(500).json({ error: err.message });
      return;
    }
    res.json({ id: this.lastID });
  });
});

app.use(express.json()); // 解析 JSON 请求体
app.use(express.static('public')); // 托管静态文件

// 添加一个简单的根路由
app.get('/', (req, res) => {
  res.send('Server is running!');
});

// 定义一个简单的 GET 请求路由
app.get('/api/hello', (req, res) => {
  res.json({ message: 'Hello, World!' });
});

app.listen(port, () => {
  console.log(`Server running at http://localhost:${port}`);
});